package loja.clientes.teste;

import static org.junit.Assert.*;
import loja.Produto;
import loja.clientes.Encomenda;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

import BaseDados.Estados;

import utilities.Data;

public class EncomendaTest {

	private static Encomenda e1;
	private static Produto p1;
	
	
	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
		e1 = new Encomenda(3, 1, p1, 4, new Data(9,12,2010), new Data(15,12,2010), Estados.PENDENTE);
	}

	@AfterClass
	public static void tearDownAfterClass() throws Exception {
	
	}

	@Before
	public void setUp() throws Exception {
	}

	@After
	public void tearDown() throws Exception {
	}

	@Test
	public void testEncomenda() {
		
	}

	@Test
	public void testGetNumEncomenda() {
		assertEquals(e1.getNumEncomenda(), 3);
	}

	@Test
	public void testGetNumeroClienteEncomenda() {
		assertEquals(e1.getNumeroClienteEncomenda(), 1);
	}

	@Test
	public void testGetNomeProdutoEncomeda() {
		assertEquals(e1.getProdutoEncomeda().getNome(), "Coca-cola");
	}

	@Test
	public void testGetQuantidadeEncomenda() {
		assertEquals(e1.getQuantidadeEncomenda(), 4);
	}

	@Test
	public void testGetDataEncomenda() {
		assertEquals(e1.getDataEncomenda(), new Data(15,12,2010));
	}

	@Test
	public void testGetDataEntrega() {
		assertEquals(e1.getDataEntrega(), new Data(9,12,2010));
	}

	@Test
	public void testGetEstado() {
		assertEquals(e1.getEstado().name(), Estados.PENDENTE);
	}

	@Test
	public void testSetEstado() {
		
		e1.setEstado(Estados.EFECTUADA);
		
		assertEquals(e1.getEstado().name(), Estados.EFECTUADA);
	}

}
